﻿@model Item[]
@{
    ViewBag.Title = "ItemTetris";
}

<style>
    .tetrisItem {
        position:absolute;
        width:32px;
        height:32px;
    }

    .tetrisItemSelected {
       border:2px dashed green; 
    }
</style>

<h2>Тетрис предметами доты</h2>

<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="http://vk.com/js/api/share.js?11" charset="windows-1251"></script>

<script src="@Url.ContentWithVersion("~/Scripts/tetrisGame.js")" type="text/javascript"></script>

@Html.Raw("<script type='text/javascript'>")
var items = {
    @foreach (var item in Model)
    {
        <text>"@item.Id":{ 
                id: @item.Id, 
                url : "@Url.Image(item.ImageId)",
                TitleUrl : "@Url.Action("Title", "Items", new { id = item.Id })",
                recipes:[
                    @foreach (var item2 in item.Recipes1)
                    {
                        <text>recipe(@item2.ForItemId, [@string.Join(",", item2.ForItem.Recipes
                            .SelectMany(r=>Enumerable.Range(0,r.Count)
                            .Select(j=>r)).Select(i=>i.ItemId))]),</text>
                    }
                    @if (item.Recipes.Any())
                    {
                        <text>recipe(@item.Id, [@string.Join(",", item.Recipes
                            .SelectMany(r=>Enumerable.Range(0,r.Count)
                            .Select(j=>r)).Select(i=>i.ItemId))]),</text>
                    }                   
                ] 
            }, </text>
    }

    "bomb" : { id: "bomb", url : "http://habrastorage.org/storage2/ebc/d9d/0ca/ebcd9d0cadd4ebe98a22752aa097d3aa.jpg", TitleUrl: "@Url.Action("Title", "Skills", new { id = 254 })", recipes:[] }, 
    "fire" : { id: "fire", url : "http://farm8.staticflickr.com/7238/6988586476_e4a4614a85_b.jpg", TitleUrl: "@Url.Action("Title", "Skills", new { id = 350 })", recipes:[] }
};

var simpleItems = [
    @foreach (var item in Model.Where(i=>i.Recipes1.Any()).SelectMany(i=>Enumerable.Range(0, i.Recipes1.Sum(r=>r.Count)).Select(r=>i)))
    {
        @item.Id<text>,</text>
    }
];

@Html.Raw("</script>")

<script type="text/javascript">
    $(function () {
        beginGame(20, 13, $("#screen"), items, simpleItems);
    });
</script>

<div style="color:green; font-weight:bolder;font-size:larger;margin-top:5px;margin-bottom:10px">Если тебе понравилась игра - лайкни <div id="vk_like2" ></div></div>
<table>
    <tr>
        <td style="width:645px;height:450px;vertical-align:top">
            <input type="button" id="pauseButton" value="Pause" />
            <div style="position:relative;width:640px;height:416px;border:1px solid black" id="screen">

            </div>
        </td>
        <td style="vertical-align:top">
            <h3>Правила</h3>

            <img src="http://habrastorage.org/storage2/8e3/927/978/8e392797840cd75051d1c774d5219811.jpg" style="float:left"/>
            Управление мышкой! <br />
            Предметы, находящиеся рядом, сжигаются при составлении сборки (наподобие Lines). Сборку можно составлять по горизонтали, по вертикали и даже более сложными фигурами
            . Главное, чтобы под прямым углом. Не забывайте, некоторым сборкам необходим рецепт.
            Сам предмет, может выступать и как рецепт, и как предмет, который используется в других рецептах.
            Режим для новичков, позволит Вам научиться собирать предметы в доте.
            <input id="TurnOnNewPlayerMode" type="button" value="Включить режим для новичков" />
                 
            <div id="formForSaveResult">
                 <h3>Сохранить результаты?</h3>      
                @using (Ajax.BeginForm("SaveScore", new AjaxOptions() { OnComplete = "alert('Ваши результаты сохранены'); $('#saveButton').removeAttr('disabled');" }))
                {                
                    <p>Имя: @Html.TextBox("Author", Request.GetUserName())  Очки: @Html.TextBox("Points", null, new { @readonly="readonly", style="width:100px" })</p>
                    <input type="submit" value="Сохранить" id="saveButton"/>
                
                
                    @Html.Hidden("GameName", "ItemTetris")                    
                    @Html.Hidden("Data")
                }
            </div>
            
            @Html.Action("ScoresForGame", new { gameName = "ItemTetris"})
            
        </td>       
    </tr>
</table>


<div id="log"></div>

<h3>Комментарии:</h3>
@Html.Comments("Дота тетрис", Url.Action("ItemTetris", "Games"))

<div id="finishDialog" style="display:none">
    <p>Игра окончена!</p>

    <div style="color:green; font-weight:bolder;font-size:larger">Если тебе понравилась игра поделись с друзьями! 
        <div id="vk_like" >
        
    </div></div>     
</div>

<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?52"></script>

<script type="text/javascript">
    VK.init({ apiId: 3150130, onlyWidgets: true });
</script>

<!-- Put this div tag to the place, where the Like block will be -->    
<script type="text/javascript">    
    VK.Widgets.Like("vk_like", { type: "full" });
    VK.Widgets.Like("vk_like2", { type: "full" });
</script>